package com;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 0 导包 src 平级创建一个 lib 文件夹,把 jar 包方进去,Build Path 配置到 classpath 中
 * 
 * 1 驱动注册 Class.forName() Class.forName().newInstance() new DriverName() 向
 * DriverManager 中进行注册
 * 
 * 2 数据库连接 DriverManager.getConnection()
 * 
 * 3 执行 sql 语句 Connection.CreateStatement() statement.executeQuery()
 * statement.executeUpdate()
 * 
 * 4 接收结果数据 rs.next()
 * 
 * 5 遍历展示结果集
 * 
 * 6 关闭资源
 * 
 * @author lenovo
 * @date 2020年8月6日 @time 上午11:26:35
 */
public class JDBC_01_base_DQL {

	public static void main(String[] args) throws Exception {
		// 1 加载驱动
		Class.forName("com.mysql.jdbc.Driver");

		// 2 数据库连接
		Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/day_03", "root", "root");

		// 3 语句传输对象
		String sql = "select * from test_jdbc";
		Statement stmtStatement = conn.createStatement();

		// 4 接收结果集
		ResultSet resultSet = stmtStatement.executeQuery(sql);

		// 5 遍历获取数据
		// next 就等于 迭代器中 hasNext() 和 next() 连用
		// 判断下面有没有元素,如果有就指向下一行元素
		while (resultSet.next()) {
			System.out.print(resultSet.getInt("id") + " ");
//			getString 也可以获取 int 类型的值,但是不推荐
//			System.out.println(resultSet.getString("id"));

			System.out.print(resultSet.getString("name") + " ");
			System.out.println(resultSet.getDouble("money") + " ");

		}

		// 6 关闭资源
		resultSet.close();
		stmtStatement.close();
		conn.close();
	}

}
